package com.ruoyi.spikes.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商品秒杀列表对象 spike_products
 * 
 * @author ruoyi
 * @date 2024-08-07
 */
public class SpikeProducts extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 商品图片 */
    @Excel(name = "商品图片")
    private String productImage;

    /** 商品标题 */
    @Excel(name = "商品标题")
    private String productTitle;

    /** 秒杀活动简介 */
    @Excel(name = "秒杀活动简介")
    private String lightningDeals;

    /** 活动时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date eventTime;

    /** 物流方式 */
    @Excel(name = "物流方式")
    private String logistics;

    /** 运费设置 */
    @Excel(name = "运费设置")
    private Long shippingSettings;

    /** 固定邮费 */
    @Excel(name = "固定邮费")
    private String fixedPostage;

    /** 运费模板 */
    @Excel(name = "运费模板")
    private String shippingTemplates;

    /** 开始时间 */
    @Excel(name = "开始时间")
    private String startTime;

    /** 总购买数量限制 */
    @Excel(name = "总购买数量限制")
    private String totalPurchaseQuantityLimit;

    /** 单次购买数量限制 */
    @Excel(name = "单次购买数量限制")
    private String onePurchaseQuantityLimit;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 秒杀是否参与分销 */
    @Excel(name = "秒杀是否参与分销")
    private Long spikesParticipateDistributionStatus;

    /** 活动状态 */
    @Excel(name = "活动状态")
    private Long activeStatus;

    /** 规格id */
    @Excel(name = "规格id")
    private Long gid;

    /** 秒杀价 */
    @Excel(name = "秒杀价")
    private BigDecimal spikePrice;

    /** 限量 */
    @Excel(name = "限量")
    private String limited;

    /** 详情 */
    @Excel(name = "详情")
    private String detail;

    /** 原价 */
    @Excel(name = "原价")
    private BigDecimal price;

    /** 限量剩余 */
    @Excel(name = "限量剩余")
    private Long limitedRemaining;

    /** 秒杀状态 */
    @Excel(name = "秒杀状态")
    private Long lightningDealStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProductImage(String productImage) 
    {
        this.productImage = productImage;
    }

    public String getProductImage() 
    {
        return productImage;
    }
    public void setProductTitle(String productTitle) 
    {
        this.productTitle = productTitle;
    }

    public String getProductTitle() 
    {
        return productTitle;
    }
    public void setLightningDeals(String lightningDeals) 
    {
        this.lightningDeals = lightningDeals;
    }

    public String getLightningDeals() 
    {
        return lightningDeals;
    }
    public void setEventTime(Date eventTime) 
    {
        this.eventTime = eventTime;
    }

    public Date getEventTime() 
    {
        return eventTime;
    }
    public void setLogistics(String logistics) 
    {
        this.logistics = logistics;
    }

    public String getLogistics() 
    {
        return logistics;
    }
    public void setShippingSettings(Long shippingSettings) 
    {
        this.shippingSettings = shippingSettings;
    }

    public Long getShippingSettings() 
    {
        return shippingSettings;
    }
    public void setFixedPostage(String fixedPostage) 
    {
        this.fixedPostage = fixedPostage;
    }

    public String getFixedPostage() 
    {
        return fixedPostage;
    }
    public void setShippingTemplates(String shippingTemplates) 
    {
        this.shippingTemplates = shippingTemplates;
    }

    public String getShippingTemplates() 
    {
        return shippingTemplates;
    }
    public void setStartTime(String startTime) 
    {
        this.startTime = startTime;
    }

    public String getStartTime() 
    {
        return startTime;
    }
    public void setTotalPurchaseQuantityLimit(String totalPurchaseQuantityLimit) 
    {
        this.totalPurchaseQuantityLimit = totalPurchaseQuantityLimit;
    }

    public String getTotalPurchaseQuantityLimit() 
    {
        return totalPurchaseQuantityLimit;
    }
    public void setOnePurchaseQuantityLimit(String onePurchaseQuantityLimit) 
    {
        this.onePurchaseQuantityLimit = onePurchaseQuantityLimit;
    }

    public String getOnePurchaseQuantityLimit() 
    {
        return onePurchaseQuantityLimit;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setSort(Long sort) 
    {
        this.sort = sort;
    }

    public Long getSort() 
    {
        return sort;
    }
    public void setSpikesParticipateDistributionStatus(Long spikesParticipateDistributionStatus) 
    {
        this.spikesParticipateDistributionStatus = spikesParticipateDistributionStatus;
    }

    public Long getSpikesParticipateDistributionStatus() 
    {
        return spikesParticipateDistributionStatus;
    }
    public void setActiveStatus(Long activeStatus) 
    {
        this.activeStatus = activeStatus;
    }

    public Long getActiveStatus() 
    {
        return activeStatus;
    }
    public void setGid(Long gid) 
    {
        this.gid = gid;
    }

    public Long getGid() 
    {
        return gid;
    }
    public void setSpikePrice(BigDecimal spikePrice) 
    {
        this.spikePrice = spikePrice;
    }

    public BigDecimal getSpikePrice() 
    {
        return spikePrice;
    }
    public void setLimited(String limited) 
    {
        this.limited = limited;
    }

    public String getLimited() 
    {
        return limited;
    }
    public void setDetail(String detail) 
    {
        this.detail = detail;
    }

    public String getDetail() 
    {
        return detail;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setLimitedRemaining(Long limitedRemaining) 
    {
        this.limitedRemaining = limitedRemaining;
    }

    public Long getLimitedRemaining() 
    {
        return limitedRemaining;
    }
    public void setLightningDealStatus(Long lightningDealStatus) 
    {
        this.lightningDealStatus = lightningDealStatus;
    }

    public Long getLightningDealStatus() 
    {
        return lightningDealStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productImage", getProductImage())
            .append("productTitle", getProductTitle())
            .append("lightningDeals", getLightningDeals())
            .append("eventTime", getEventTime())
            .append("logistics", getLogistics())
            .append("shippingSettings", getShippingSettings())
            .append("fixedPostage", getFixedPostage())
            .append("shippingTemplates", getShippingTemplates())
            .append("startTime", getStartTime())
            .append("totalPurchaseQuantityLimit", getTotalPurchaseQuantityLimit())
            .append("onePurchaseQuantityLimit", getOnePurchaseQuantityLimit())
            .append("unit", getUnit())
            .append("sort", getSort())
            .append("spikesParticipateDistributionStatus", getSpikesParticipateDistributionStatus())
            .append("activeStatus", getActiveStatus())
            .append("gid", getGid())
            .append("spikePrice", getSpikePrice())
            .append("limited", getLimited())
            .append("detail", getDetail())
            .append("price", getPrice())
            .append("limitedRemaining", getLimitedRemaining())
            .append("lightningDealStatus", getLightningDealStatus())
            .toString();
    }
}
